package com.captain.leetcode;

/**
 * @author captain
 * @Des
 * @Date 2021/7/10 9:16
 */

//字符          数值
//I             1
//V             5
//X             10
//L             50
//C             100
//D             500
//M             1000

// I 可以放在 V (5) 和 X (10) 的左边，来表示 4 和 9。
// X 可以放在 L (50) 和 C (100) 的左边，来表示 40 和 90。
// C 可以放在 D (500) 和 M (1000) 的左边，来表示 400 和 900

public class 整数转罗马数字12 {

    public String intToRoman(int num) {
        String[] thousands = {"", "M", "MM", "MMM"};
        String[] hundreds  = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
        String[] tens      = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
        String[] ones      = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};

        StringBuilder bulider = new StringBuilder();
        bulider.append(thousands[num / 1000]);
        bulider.append(hundreds[num % 1000 / 100]);
        bulider.append(tens[num % 100 / 10]);
        bulider.append(ones[num % 10]);
        return bulider.toString();

    }
}
